<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Вычитатель</title>
</head>

<body bgcolor="FFFFFF">

<h1><img align="center" src="../../../../icons/subtractor.gif" width="32" height="32">
<em>Вычитатель</em></h1>

<p><table>
<tr><td><strong>Библиотека:</strong></td>
	<td><a href="index.html">Арифметика</a></td></tr>
<tr><td><strong>Введён в:</strong></td>
	<td>2.0 Beta 11</td></tr>
<tr><td valign="top"><strong>Внешний вид:</strong></td>
	<td valign="top"><img src="../../../../img-libs/subtractor.png" width="44" height="45"></td></tr>
</table></p>

<h2>Поведение</h2>

<p>Этот компонент вычитает значения, поступающие на западные входы (верхнее минус нижнее) и выдаёт разность на восточный выход. Компонент разработан таким образом, что его можно включать каскадно с другими вычитателями чтобы обеспечить вычитание с большим количеством битов, чем возможно с одним вычитателем: вход займа предоставляет однобитное значение, которое должно быть занято из разности (если вход займа определён), а выход займа определяет, что компонент должен занять старший бит чтобы завершить вычитание без потери значимости (подразумевается беззнаковое вычитание).</p>

<p>Внутренне вычитатель просто выполняет побитовое НЕ над вычитаемым и прибавляет результат к уменьшаемому вместе с дополнением значения с входа займа. (<em>Уменьшаемое</em> - это первый операнд (верхний вход) вычитания, а <em>вычитаемое</em> - второй (нижний вход). Мне нравятся устаревшие термины.)</p>

<p>Если какой-либо операнд содержит несколько плавающих битов или несколько битов с ошибкой, то компонент выполнит частичное вычитание. То есть он будет вычислять столько младших битов, сколько возможно. Но выше плавающего бита или бита с ошибкой результат будет иметь плавающие биты или биты с ошибкой.</p>

<h2>Контакты</h2>

<dl>

<dt>Западный край, северный конец (вход, разрядность соответствует атрибуту Биты данных)
<dd>Уменьшаемое вычитания, то есть число, из которого вычитать.

<dt>Западный край, южный конец (вход, разрядность соответствует атрибуту Биты данных)
<dd>Вычитаемое вычитания, то есть число, которое нужно вычесть из уменьшаемого.

<dt>Северный край, отмечен <var>b in</var> (вход, разрядность равна 1)
<dd>Если на этом входе 1, то 1 заимствуется из разности. Если значение неизвестно (например, плавающее), то предполагается, что оно равно 0.

<dt>Восточный край (выход, разрядность соответствует атрибуту Биты данных)
<dd>Младшие <var>битыДанных</var> битов разности двух значений, поступающих на западный край минус бит <var>b</var><sub><var>in</var></sub>.

<dt>Южный край, отмечен <var>b out</var> (выход, разрядность равна 1)
<dd>Бит займа, вычисленный для разности. Если значения вычитаются как беззнаковые и дают отрицательное значение, то этот бит будет 1; в противном случае - 0.

</dl>

<h2>Атрибуты</h2>

<p>Когда компонент выбран, или уже добавлен, комбинации от Alt-0 до Alt-9 меняют его атрибут <q>Биты данных</q>.</p>

<dl>

<dt>Биты данных</dt>
<dd>Разрядность значений для вычитания и результата.</dd>

</dl>

<h2>Поведение Инструмента Нажатие</h2>

<p>Нет.</p>

<h2>Поведение Инструмента Текст</h2>

<p>Нет.</p>

<p><a href="../index.html">Назад к <em>Справке по библиотеке</em></a></p>

</body>
</html>
